package mpo;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Zlecenie {

    private int id;
    private String nazwaZlecenia;
    private String opis;
    private Date dataRozpoczecia;
    private Date dataZakonczenia;
    private BigDecimal doZaplaty;
    private BigDecimal pobrano;
    private Date dataPlatnosci;
    private int idKlient;
    
    
     public Zlecenie(String nazwaZlecenia, String opis, String dataRozpoczecia, String dataZakonczenia, int idKlient) {
        this.nazwaZlecenia = nazwaZlecenia;
        this.opis = opis;
        this.setDataRozpoczeciaViaString(dataRozpoczecia);
        this.setDataZakonczeniaViaString(dataZakonczenia);
        this.idKlient = idKlient;
        
    }
    
     public Zlecenie(String nazwaZlecenia, String opis, Date dataRozpoczecia, Date dataZakonczenia, BigDecimal doZaplaty, BigDecimal pobrano, Date dataPlatnosci, int idKlient) {
        this.nazwaZlecenia = nazwaZlecenia;
        this.opis = opis;
        this.dataRozpoczecia = dataRozpoczecia;
        this.dataZakonczenia = dataZakonczenia;
        this.doZaplaty = doZaplaty;
        this.pobrano = pobrano;
        this.dataPlatnosci = dataPlatnosci;
        this.idKlient = idKlient;
    }

    public Zlecenie(int id, String nazwaZlecenia, String opis, Date dataRozpoczecia, Date dataZakonczenia, BigDecimal doZaplaty, BigDecimal pobrano, Date dataPlatnosci, int idKlient) {
        this.id = id;
        this.nazwaZlecenia = nazwaZlecenia;
        this.opis = opis;
        this.dataRozpoczecia = dataRozpoczecia;
        this.dataZakonczenia = dataZakonczenia;
        this.doZaplaty = doZaplaty;
        this.pobrano = pobrano;
        this.dataPlatnosci = dataPlatnosci;
        this.idKlient = idKlient;
    }
    
      public Zlecenie(int id, String nazwaZlecenia, String opis, Date dataRozpoczecia, Date dataZakonczenia, BigDecimal doZaplaty, BigDecimal pobrano, Date dataPlatnosci) {
        this.id = id;
        this.nazwaZlecenia = nazwaZlecenia;
        this.opis = opis;
        this.dataRozpoczecia = dataRozpoczecia;
        this.dataZakonczenia = dataZakonczenia;
        this.doZaplaty = doZaplaty;
        this.pobrano = pobrano;
        this.dataPlatnosci = dataPlatnosci;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNazwaZlecenia() {
        return nazwaZlecenia;
    }

    public void setNazwaZlecenia(String nazwaZlecenia) {
        this.nazwaZlecenia = nazwaZlecenia;
    }

    public String getOpis() {
        return opis;
    }

    public void setOpis(String opis) {
        this.opis = opis;
    }

    public Date getDataRozpoczecia() {
        return dataRozpoczecia;
    }

    public void setDataRozpoczecia(Date dataRozpoczecia) {
        this.dataRozpoczecia = dataRozpoczecia;
    }

    public Date getDataZakonczenia() {
        return dataZakonczenia;
    }

    public void setDataZakonczenia(Date dataZakonczenia) {
        this.dataZakonczenia = dataZakonczenia;
    }

    public BigDecimal getDoZaplaty() {
        return doZaplaty;
    }

    public void setDoZaplaty(BigDecimal doZaplaty) {
        this.doZaplaty = doZaplaty;
    }

    public BigDecimal getPobrano() {
        return pobrano;
    }

    public void setPobrano(BigDecimal pobrano) {
        this.pobrano = pobrano;
    }

    public Date getDataPlatnosci() {
        return dataPlatnosci;
    }

    public void setDataPlatnosci(Date dataPlatnosci) {
        this.dataPlatnosci = dataPlatnosci;
    }

    public int getIdKlient() {
        return idKlient;
    }

    public void setIdKlient(int idKlient) {
        this.idKlient = idKlient;
    }
    
    public String getDataRozpoczeciaViaString() {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String date = sdf.format(this.dataRozpoczecia);
            return date;
        } catch (Exception e) {
            return null;
        }
    }

    public void setDataRozpoczeciaViaString(String dataS) {
        try {
            this.dataRozpoczecia = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(dataS);
        } catch (Exception e) {
            this.dataRozpoczecia = null;
        }
    }

    public String getDataZakonczeniaViaString() {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String date = sdf.format(this.dataZakonczenia);
            return date;
        } catch (Exception e) {
            return null;
        }
    }

    public void setDataZakonczeniaViaString(String dataS) {
        try {
            this.dataZakonczenia = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(dataS);
        } catch (Exception e) {
            this.dataZakonczenia = null;
        }
    }

    public String getDataPlatnosciViaString() {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String date = sdf.format(this.dataPlatnosci);
            return date;
        } catch (Exception e) {
            return null;
        }
    }

    public void setDataPlatnosciViaString(String dataS) {
        try {
            this.dataPlatnosci = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(dataS);
        } catch (Exception e) {
            this.dataPlatnosci = null;
        }
    }

    @Override
    public String toString() {
        return "Zlecenie{" + "id=" + id + ", nazwaZlecenia=" + nazwaZlecenia + ", opis=" + opis + ", dataRozpoczecia=" + dataRozpoczecia + ", dataZakonczenia=" + dataZakonczenia + ", doZaplaty=" + doZaplaty + ", pobrano=" + pobrano + ", dataPlatnosci=" + dataPlatnosci + ", idKlient=" + idKlient + '}';
    }

}
